package leetcode.code0299;

public class Solution1 extends Solution299 {

	@Override
	public String getHint(String secret, String guess) {
		int len = secret.length();
		int[] secretCache = new int[10];
		int[] guessCache = new int[10];
		int ansA = 0;
		int ansB = 0;
		for (int i = 0; i < len; i++) {
			char s = ' ';
			char g = ' ';
			if ((s = secret.charAt(i)) == (g = guess.charAt(i))) {// 猜中且位置正确
				ansA++;
			} else {
				int si = s - '0';
				int gi = g - '0';
				if (guessCache[si] > 0) {// 之前有猜中，但是位置不对
					guessCache[si]--;// 猜中-1
					ansB++;// B+1;
				} else {
					secretCache[si]++;// 之前没有猜中， 增加一个待猜的数
				}
				if (secretCache[gi] > 0) {// 猜中了一个之前出现的
					secretCache[gi]--;// 待猜少一个
					ansB++;// B+1;
				} else {
					guessCache[gi]++;// 之前待猜的没中， 增加一个盲猜
				}
			}
		}
		return ansA + "A" + ansB + "B";
	}

	public static void main(String[] args) {
		Solution1 so = new Solution1();
		so.debug1();
		so.debug2();
		so.debug3();
		so.debug4();
		System.out.println((int) '0');
	}

}
